package org.metasketch.ham.model;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("human-participation-link")
public class HumanParticipationRelationLink extends HumanParticipationElement {

	// by id
	@XStreamAsAttribute
	@XStreamAlias("source-participation-element")
	HumanParticipationElement source;

	// by id
	@XStreamAsAttribute
	@XStreamAlias("target-participation-element")
	HumanParticipationElement target;

	@XStreamAsAttribute
	@XStreamAlias("source-Label")
	String sourceLabel = "source label";

	@XStreamAsAttribute
	@XStreamAlias("target-label")
	String targetLabel = "target label";

	@XStreamAsAttribute
	@XStreamAlias("show-source-arrow")
	boolean showSourceArrow;

	@XStreamAsAttribute
	@XStreamAlias("show-target-arrow")
	boolean showTargetArrow;

	@XStreamAsAttribute
	@XStreamAlias("show-source-label")
	boolean showSourceLabel = false;

	@XStreamAsAttribute
	@XStreamAlias("show-target-label")
	boolean showTargetLabel = false;

	public HumanParticipationElement getSource() {
		return source;
	}

	public void setSource(HumanParticipationElement source) {
		this.source = source;
	}

	public HumanParticipationElement getTarget() {
		return target;
	}

	public void setTarget(HumanParticipationElement target) {
		this.target = target;
	}

	public String getSourceLabel() {
		return sourceLabel;
	}

	public void setSourceLabel(String sourceLabel) {
		this.sourceLabel = sourceLabel;
	}

	public String getTargetLabel() {
		return targetLabel;
	}

	public void setTargetLabel(String targetLabel) {
		this.targetLabel = targetLabel;
	}

	public boolean isShowSourceArrow() {
		return showSourceArrow;
	}

	public void setShowSourceArrow(boolean sourceArrow) {
		this.showSourceArrow = sourceArrow;
	}

	public boolean isShowTargetArrow() {
		return showTargetArrow;
	}

	public void setShowTargetArrow(boolean targetArrow) {
		this.showTargetArrow = targetArrow;
	}

	public boolean isShowSourceLabel() {
		return showSourceLabel;
	}

	public void setShowSourceLabel(boolean showSourceLabel) {
		this.showSourceLabel = showSourceLabel;
	}

	public boolean isShowTargetLabel() {
		return showTargetLabel;
	}

	public void setShowTargetLabel(boolean showTargetLabel) {
		this.showTargetLabel = showTargetLabel;
	}

}
